package edu.nf.relaxenjoy.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import edu.nf.relaxenjoy.domain.entity.Album;
import edu.nf.relaxenjoy.domain.entity.Tag;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author zhu
 * @date 2024-12-10
 */
@Data
public class PostVo implements Serializable {

    private Long id;
    /**
     * 内容文本
     */
    private String content;
    /**
     * 内容封面
     */
    private String cover;
    /**
     * 发布用户ID
     */
    private Long userId;
    /**
     * 发布用户名
     */
    private String username;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 所属的二级分类ID
     */
    private Long categoryId;
    /**
     * 所属的一级分类ID
     */
    private Long categoryPid;
    /**
     * 所属二级分类名称
     */
    private String categoryName;
    /**
     * 所属的一级分类名称
     */
    private String categoryPName;
    /**
     * 第三方登录用户id
     */
    private Long otherUserId;
    /**
     * 所属专辑
     */
    private Album album;
    /**
     * 所属专辑名称
     */
    private String albumName;
    /**
     * 图片数量
     */
    private Integer count;
    /**
     * 内容图片
     */
    private List<String> images;
    /**
     * 内容视频
     */
    private String video;
    /**
     * 内容音频
     */
    private String audio;
    /**
     * 内容类型（0->图片，1->视频）
     */
    private Integer postType;
    /**
     * 内容状态：0->正常；1->待审核；2->删除
     */
    private Integer status;
    /**
     * 标签列表
     */
    private List<Tag> tagList;
    /**
     * 观看数量
     */
    private Long viewCount;
    /**
     * 点赞数量
     */
    private Long agreeCount;
    /**
     * 收藏数量
     */
    private Long collectionCount;
    /**
     * 评论数量
     */
    private Long commentCount;
    /**
     * 发布时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date time;
}
